Digital paint generation mix control

ABSTRACT

Digital paint generation techniques and systems are described that are configured to bridge a perceived divide between functionality made available to users to create digital image and the users&#39; understanding as to how this functionality is to be used. In one example, a mix control is used to adjust color and/or physical digital paint properties to generate digital paint. Further, feedback is also supported such that the digital paint generated from properties is changed in real time as changes are made to the properties, e.g., amounts of digital paint properties used to generate the digital paint.

BACKGROUND

The ways in which users are able to create digital images throughinteraction with computing devices continues to expand. However, thetechniques used to select and generate colors have not kept pace withthis expansion. For example, conventional techniques are limited toselecting a particular hue for a color, which limits functionality thatotherwise may be made available to users. Further, these conventionaltechniques typically rely on complex user interface interactions andthus require expertise that make these systems unapproachable byuntrained and novice users.

Additionally, there is a common misperception that creation of digitalimages is dependent primarily on users' innate artistic ability and thusis limited to users that are “born with” this ability. This is typicallythe result of a perceived divide between functionality made available tothe users to create digital images by conventional systems and theusers' understanding as to how this functionality is to be used.Therefore, the lack of understanding of how to use this functionalitymay cause the users to perceive an inability to create digital images.

An example of this is complicated and complex techniques used byconventional systems to define and select colors for use in creating ormodifying a digital image. In one conventional example, a color pickeris used to select a fill or stroke color by choosing from a color fieldand spectrum, which defines the color numerically or by clicking aswatch. A swatch is a named color, tint, gradient, and pattern used todefine the named color that are typically defined through a swatchespanel and swatch library that are output in a user interface. Theswatches panel includes options to select colors, gradients, andpatterns for the named color. Therefore, selection of a color in thistechnique relies on a user's understanding in how to interact with thecolor field and spectrum numerically and/or through the swatches paneland swatch library, which may be intimidating and confusing to noviceand casual users.

In another conventional example, a color panel is used to apply and editan object's fill or stroke in a user interface. The color paneltypically includes numerical options to select color values, a colorspectrum bar, and a color slider. To select a color, a user firstselects a color mode (e.g., RGB, CMYK) and then drags or clicks theslider to set numerical color values, enters the numerical valuesdirectly as text, or selects a point on a static color spectrum bar.Thus, the user is tasked with manually selecting color values and/ormaking a selection from the static color spectrum bar, which alsorequires specialized knowledge and thus may also be confusing to noviceand casual users.

Therefore, in each of the conventional examples above, a user may takeyears of practice and training in order to consistently achieve adesired result, e.g., a desired color for use as part of a digitalimage. As a result, this functionality as implemented by conventionalsystems may cause users to confuse an initial lack of understanding inhow to use this functionality with an inability to do so due to lack ofan innate ability. Further, these conventional techniques are limited toselection of colors (i.e., hues) and do not address any other potentialcharacteristics that may affect how color is viewed in a user interface.Therefore, conventional systems may be considered to be unapproachableby novice and casual users and further have not expanded beyondconventional use of color as part of the digital image.

SUMMARY

Digital paint generation techniques and systems are described that areconfigured to generate digital paint in an efficient and intuitivemanner. These techniques and systems overcome limitations ofconventional systems to expand how digital paint is able to berepresented in a user interface through use of physical digital paintproperties. This supports the creation of digital images havingcharacteristics that are not possible using conventional systems thatare limited to conventional uses of color. Further, these techniques andsystems bridge a perceived divide between functionality made availableto users to create digital images and the users' understanding as to howthis functionality is to be used. In this way, the digital paintgeneration techniques and systems as implemented by an image processingsystem expand accessibility and availability of a range of digital imagecreation techniques to a wider range of users.

In one example, a mix control is employed by the image processing systemto support user adjustment of digital paint properties to generatedigital paint in a way that is readily understandable by a user. A user,for instance, may select different color digital paint properties (e.g.,pigments) and interact with the mix control (e.g., as a dial) to defineamounts of respective pigments to be used to generate digital paint. Inthis way, the user is provided with an ability to define both whichpigments are to be mixed and an amount used of those pigments togenerate the digital paint

Further, the mix control may also be used to define amounts of physicaldigital paint properties as part of generating the digital paint, whichis not available in conventional color selection systems. Physicaldigital paint properties, for instance, may be used to mimic physicaldigital paint in the real world, such as medium (e.g., chalk, ink),surface (e.g., paper, metal), instrument used to apply the medium (e.g.,brush, pencil), technique used by the instrument to apply the medium(e.g., layered, blending), environment in which the medium and surfaceas disposed (e.g., lighting conditions), and so forth. The physicaldigital paint properties may also expand to realize capabilities thatare not limited to the physical world, such as meta-conditions includingparticle gravity, attraction, sparkles, dynamic gradients and repulsionas part of an animation of the digital paint. Thus, the physical digitalpaint properties permit user interaction to expand beyond selection ofcolors as limited by conventional systems to also include how thosephysical properties define how digital paint having those colors isperceived when rendered in a user interface.

This Summary introduces a selection of concepts in a simplified formthat are further described below in the Detailed Description. As such,this Summary is not intended to identify essential features of theclaimed subject matter, nor is it intended to be used as an aid indetermining the scope of the claimed subject matter.

BRIEF DESCRIPTION OF THE DRAWINGS

The patent or application file contains at least one drawing executed incolor. Copies of this patent or patent application publication withcolor drawings will be provided by the Office upon request and paymentof the necessary fee.

The detailed description is described with reference to the accompanyingfigures. Entities represented in the figures may be indicative of one ormore entities and thus reference may be made interchangeably to singleor plural forms of the entities in the discussion.

FIG. 1 is an illustration of an environment in an example implementationthat is operable to employ techniques described herein.

FIG. 2 depicts an example system showing operation of a digital paintmixing system of FIG. 1 in greater detail.

FIG. 3 depicts an example implementation of a mix control of FIG. 2 as amulti-axis control.

FIG. 4 depicts an example implementation showing operation of a paintcontrol module and mix control of FIG. 2 in greater detail.

FIG. 5 depicts an example implementation of user selection of digitalpaint properties for use as part of the mix control.

FIGS. 6 and 7 depict example implementations of generation and displayof digital paint as feedback in real time caused through interactionwith the mix control of FIG. 5.

FIG. 8 is a flow diagram depicting a procedure in an exampleimplementation in which user selection of digital paint properties anduser inputs via a mix control are used to generate digital paint that isoutput in a user interface.

FIG. 9 depicts an example implementation of physical digital paintproperty data that serves as a basis to determine physical digital paintproperty interaction.

FIG. 10 depicts a system in an example implementation in which feedbackis generated to apply digital paint generated based on user interactionwith the mix control of FIG. 1 to a user-specified portion of a userinterface.

FIG. 11 is a flow diagram depicting a procedure in an exampleimplementation of generation of feedback of digital paint generation inreal time.

FIG. 12 illustrates an example system including various components of anexample device that can be implemented as any type of computing deviceas described and/or utilize with reference to FIGS. 1-11 to implementembodiments of the techniques described herein.

DETAILED DESCRIPTION

Overview

Digital paint generation techniques and systems are described that areconfigured to bridge a perceived divide between functionality madeavailable to users to create digital images and the users' understandingas to how this functionality is to be used. In one example, a digitalpaint generation technique employs a mix control that supports userinteraction to define digital paint properties to be used to generatedigital paint. This includes color digital paint properties that definea pigment (e.g., hue) to be used to generate the digital paint, e.g.,red, green, blue, etc. This may also include physical digital paintproperties of digital paint having that defined pigment. As a result,digital paint generated using these techniques may expand beyondconventional techniques used to pick a color to now include dynamic andcomplex interactions. This supports creation of types of art as part ofthe digital images that is not possible using conventional techniquesbased solely on color.

The mix control, for instance, may be used to specify two or moredifferent pigments to be used to generate a desired hue of digitalpaint, e.g., purple, indigo, chartreuse, and so on. The mix control mayalso be used to specify amounts of physical digital paint propertiesthat are also used to generate the digital paint. Examples of physicaldigital paint properties include a medium (e.g., chalk, ink), surface(e.g., paper, metal), instrument used to apply the medium (e.g., brush,pencil), technique used by the instrument to apply the medium (e.g.,layered, blending), environment in which the medium and surface asdisposed (e.g., lighting conditions), and so forth. Thus, thecombination of physical and color digital paint properties may be usedto expand beyond conventional color selection techniques.

The combination and adjustment of color and physical digital paintproperties may be used by the image processing system to aid a user inunderstanding effects of their interaction. For example, a color digitalpaint property may represent a certain hue of red, e.g., R210, G10, B30.However, the same hue combined with a physical digital paint propertymay cause the hue to have the specularity of a heavy oil-based paint.This hue and physical digital paint property combination would beconsidered, when viewed by a user, to have a different color even thoughit is based on the same RGB value. Therefore, the user may view howcombinations of color and physical digital paint properties interactwith each other as part of digital paint generation through interactionwith the mix control via a user interface.

As a result, the techniques and systems described herein expand beyondselection of pigments (i.e., colors) of conventional systems to alsodescribe how digital paint having those pigments is to be physicallyperceived in a user interface. This is not possible using conventionaltechniques that are limited to selection of color, alone. Further,creation of the digital paint may also be untethered from mimicking thephysical world by creating digital paint having any physical digitalpaint property that can be imagined by the user and defined (e.g.,mathematically) for rendering by the computing device as furtherdescribed as follows. The physical digital paint properties, forinstance, may include meta-conditions including particle gravity,attraction, sparkles, dynamic gradients and repulsion as part of ananimation of the digital paint. Consequently, the digital paint anddigital images created using this paint may be created and rendered bythe image processing system that has never been seen before.

In the following discussion, an example environment is first describedthat may employ the techniques described herein. Example procedures arethen described which may be performed in the example environment as wellas other environments. Consequently, performance of the exampleprocedures is not limited to the example environment and the exampleenvironment is not limited to performance of the example procedures.

Example Environment

FIG. 1 is an illustration of a digital medium environment 100 in anexample implementation that is operable to employ digital paintgeneration techniques described herein. The illustrated environment 100includes a computing device 102, which may be configured in a variety ofways.

The computing device 102, for instance, may be configured as a desktopcomputer, a laptop computer, a mobile device (e.g., assuming a handheldconfiguration such as a tablet or mobile phone as illustrated), and soforth. Thus, the computing device 102 may range from full resourcedevices with substantial memory and processor resources (e.g., personalcomputers, game consoles) to a low-resource device with limited memoryand/or processing resources (e.g., mobile devices). Additionally,although a single computing device 102 is shown, the computing device102 may be representative of a plurality of different devices, such asmultiple servers utilized by a business to perform operations “over thecloud” as described in FIG. 12.

The computing device 102 is illustrated as including an image processingsystem 104. The image processing system 104 is implemented at leastpartially in hardware of the computing device 102 to process andtransform a digital image 106, which is illustrated as maintained in astorage device 108 of the computing device 102. Such processing includescreation of the digital image 106, modification of the digital image106, and rendering of the digital image 106 in a user interface 110 foroutput, e.g., by a display device 112. Although illustrated asimplemented locally at the computing device 102, functionality of theimage processing system 104 may also be implemented as whole or part viafunctionality available via the network 114, such as part of a webservice or “in the cloud.”

An example of functionality incorporated by the image processing system104 is represented as a digital paint mixing system 116. The digitalpaint mixing system 116 is implemented in functionality of the computingdevice 102 (e.g., a processing system and computer-readable storagemedia) to generate digital paint 118. The digital paint 118 is alsoillustrated as stored in the storage device 108 and is configured to berendered in the user interface 110 of the display device 112.

The digital paint mixing system 116 in this example is configured tosupport output of the user interface 110 as having a paint generationcontrol portion 120 and a paint generation output portion 122. The paintgeneration control portion 120 includes a mix control 124 that isconfigured to specify amounts of digital paint properties that are to beused to generate digital paint 118. The paint generation output portion122 is configured to display feedback 126 regarding the generation ofthe digital paint 118.

In one example, a first hand 128 of a user interacts with the mixcontrol 124 to specify amount of the digital paint properties that serveas a basis to generate the digital paint. In response, the digital paintmixing system 116 generates and outputs the digital paint 118 in realtime to follow another user input received via interaction with a secondhand 130 of the user. The second hand 130, for instance, may draw afreeform line in the paint generation output portion 122 of the userinterface 110. The digital paint mixing system 116, based on detectionof the other input via touchscreen functionality, then generates thedigital paint 118 in real time (e.g., through use of pixel shaders) tofollow the user input of the second hand 140 as the feedback 126, e.g.,in real time. In this way, the digital paint mixing system 116 providesreal time feedback 126 regarding an effect of amounts of digital paintproperties on generation of the digital paint 118 displayed in the userinterface 110.

The mix control 124 may be configured in a variety of ways. In theillustrated example, the mix control 124 is configured to supportmulti-axis control through use of a first axis 132 and a second axis134. The first and second axes 132, 134 each include respective firstends 136, 138 and second ends 140, 142. The first and second ends 136,138, 140, 142 correspond to respective digital paint properties that areuser selected. Interaction with the mix control 124 is then used tocontrol the amounts of these digital paint properties that are used togenerate the digital paint 118, e.g., as gradations between the optionsat respective ends of the first and second axes 132, 134.

A user input, for instance, may be detected as initiated by the firsthand 128 of the user to move in X and/or Y directions. In this instance,movement in the X direction is used to control amounts of digital paintproperties at first and second ends 136, 140 of the first axis 132 ofthe mix control 124. Likewise, movement in the Y direction is used tocontrol amounts of digital paint properties at first and second ends138, 142 of the second axis 134 of the mix control 124.

In one example, the input is implemented as a single multi-axis userinput to specify an inverse relationship between digital paintproperties at the first and second ends 136, 138, 140, 142 of therespective first and second axes 132, 134. Accordingly, an increase inan amount at one end of the axis causes a corresponding decrease in anamount at the other end of the axis through interaction with the mixcontrol 124 through a plurality of gradations. Indications 144, 146 mayalso be included as part of the mix control 124 to indicate theserelative amounts of digital paint properties to be used to generate thedigital paint 118 of the respective first and second axes 132, 134.

The mix control 124 may be used to specify a variety of differentamounts and types of digital paint properties. Examples of digital paintproperties include color digital paint properties, referred to aspigments 148. Color digital paint properties, as pigments 138, describehues of colors. Hues are an attribute of color by virtue of which it isdiscernible as red, green, blue, and so on, which is dependent on itsdominant wavelength, and independent of intensity or lightness. A userselection, for instance, may be received through interaction with theuser interface 110 to select from a variety of pigments 162, 164, 166,168, 170, 172 options for use at particular ends of the mix control 124.These selections may then be used through interaction with the mixcontrol 124 to generate digital paint 118 having a desired hue.

The digital paint properties may also include physical digital paintproperties. Examples of physical digital paint properties include medium156 (e.g., chalk, ink), surface 158 (e.g., paper, metal), instrument 160used to apply the medium (e.g., brush, pencil), technique 150 used bythe instrument to apply the medium (e.g., layered, blending), 152environment in which the medium and surface as disposed (e.g., lightingconditions, meta-conditions such as particle gravity and repulsion), andso forth. The paint generation control portion 120 of the user interfacealso includes an option for selection of saved 154 instances of digitalpaint 118, e.g., as “containers.”

In this way, a user may select which digital paint properties are to beused as a basis to generate the digital paint 118, control amounts ofthe digital paint properties used in the generation through interactionwith the mix control 124, and output a result of this generation asfeedback 126 in the user interface 110, e.g., in real time. As a result,the digital paint mixing system 116 supports efficient and intuitivetechniques to indicate an effect of interaction of these digital paintproperties with each other as part of generating the digital paint 118.This digital paint 118 may then be leveraged in a variety of ways, suchas to incorporate the digital paint 118 as part of a digital image 106configured to be rendered by the display device 112.

In general, functionality, features, and concepts described in relationto the examples above and below may be employed in the context of theexample procedures described in this section. Further, functionality,features, and concepts described in relation to different figures andexamples in this document may be interchanged among one another and arenot limited to implementation in the context of a particular figure orprocedure. Moreover, blocks associated with different representativeprocedures and corresponding figures herein may be applied togetherand/or combined in different ways. Thus, individual functionality,features, and concepts described in relation to different exampleenvironments, devices, components, figures, and procedures herein may beused in any suitable combinations and are not limited to the particularcombinations represented by the enumerated examples in this description.

Mix Control Digital Paint Property Selection and Use

FIG. 2 depicts an example system 200 showing operation of the digitalpaint mixing system 116 of FIG. 1 in greater detail. FIG. 3 depicts anexample implementation 300 of the mix control 124 of FIG. 2 as amulti-axis control. FIG. 4 depicts an example implementation 400 showingoperation of the paint control module 202 and mix control 124 of FIG. 2in greater detail. FIG. 5 depicts an example implementation 500 of userselection of digital paint properties for use as part of the mix control124. FIGS. 6 and 7 depict example implementations of generation anddisplay of digital paint as feedback in real time caused throughinteraction with the mix control 124 of FIG. 5. FIG. 8 depicts aprocedure 800 in an example implementation in which user selection ofdigital paint properties and user inputs via a mix control are used togenerate digital paint that is output in a user interface. FIG. 9depicts examples of physical digital paint properties.

The following discussion describes techniques that may be implementedutilizing the previously described systems and devices. Aspects of eachof the procedures may be implemented in hardware, firmware, software, ora combination thereof. The procedures are shown as a set of blocks thatspecify operations performed by one or more devices and are notnecessarily limited to the orders shown for performing the operations bythe respective blocks. In portions of the following discussion,reference will be made to FIGS. 1-9.

The system 200 of FIG. 2 depicts the digital paint mixing system 116 ofFIG. 1 in greater detail. The digital paint mixing system 116 includes amix control 124 that is configured to specify amounts of digital paintproperties 204 to be used to generate digital paint 118. The digitalpaint properties 204 are illustrated as stored in a storage device 108of the computing device 102. As previously described, the digital paintproperties 204 include color paint properties 206, such as pigments 208.The digital paint properties 204 also include physical paint properties210, including medium 212, surface 214, instrument 216, technique 218,and environment 220.

A user input device 224 is configured to receive user inputs 222 both toselect digital paint properties to be used to generate the digital paint118 as well as to specify amounts of the digital paint properties 204.The digital paint 118 is then output in the user interface 110, e.g.,for display on the display device 112 of FIG. 1. The mix control 124 isconfigurable in a variety of ways to facilitate this selection andspecification, and example of which is described in the following andshown in a corresponding figure.

FIG. 3 depicts a system 300 in an example implementation showing the mixcontrol 124 of FIG. 2 as implemented as a multi-axis control. The mixcontrol 124 is implemented in this example by a mix control module 302of the paint control module 202. The mix control module 302 uses a firstaxis 132 and a second axis 134 to define a multi-axis input space 304,which in this instance is defined using X and Y axes or otherperpendicular relationship. Other examples are also contemplated,including addition of a Z axis in a virtual or augmented realityimplementation.

In this example, a single user input 306 is usable to define arelationship 308 with respect to both the first and second axes 132,134. This relationship 308 may then be used to specify amounts ofdigital paint properties associated with those axes that are to be usedto generate digital paint. First and second digital paint properties310, 312, for instance, are defined at opposing ends of the first axis132 that corresponds to an X axis in the multi-axis input space 304.Likewise, third and fourth digital paint properties 314, 316 are definedat opposing ends of the second axis 134.

The single user input 306 thus defines a relationship 308 between theopposing ends of the first axis 132 as well as the opposing ends of thesecond axis 134. From this, the mix control module 302 determinesamounts of associated first, second, third, and fourth digital paintproperties 310, 312, 314, 316 to be used to generate digital paint 118.The multi-axis input space 304, for instance, may define a grid, fromwhich, closeness of the single user input 306 to respective first andsecond axes 132, 134 (e.g., X and Y axes) is determined. Thus, thesingle user input 306 may be used to define a continuous inverserelationship between the digital paint properties defined at the ends ofthe first and second axes 132, 134. In other words, greater amounts of adigital paint property at one end of an axis cause lesser amount of adigital paint property at another end of the axis. This user input maycontinue 306 through continued movement of the user input 306 in themulti-axis input space 304 to make continued changes to these amounts,e.g., through different gradations between opposing ends of the axes.

FIG. 4 depicts a system 400 in an example implementation in which themix control module 302 and mix control 124 are shown in greater detailas incorporated as part of the paint control module 202 to generatedigital paint 118. To begin, the paint control module 202 includes adigital paint property selection module 302 that supports userinteraction to select digital paint properties 404 to be used by the mixcontrol 124 of the mix control module 302.

FIG. 5 depicts an example implementation of selection of digital paintproperties for use by the mix control 124 by the digital paint propertyselection module 402 of FIG. 4. This implementation 500 is illustratedusing first, second, and third stages 502, 504, 506.

A user selection, for instance, is received of a first digital paintproperty and a second digital paint property via a user interface (block802), e.g., via a user input device 224. At the first stage 502, afinger of a user's hand 128 is used to select a pigment 162 option froma menu of pigments, i.e., color digital paint properties. Therepresented pigment 162 is dragged to a first end 136 of a first axis132 of the mix control 124. Likewise, at the second stage 504, thefinger of the user's hand 128 is used to select another pigment 166option, which is the dragged to a second end 140 of the first axis 132.

At the third stage 506, a menu of medium 156 options is displayed in theuser interface 110. From this, a medium option of a physical digitalpaint property (e.g., smoke 508) is selected for inclusion at a firstend 138 of the second axis 134 of the mix control. The second end 142 ofthe second axis 134 of the mix control 124 is left blank (i.e., open) inthis example, which also supports user interaction as further describedbelow. Other examples of selection are also contemplated withoutdeparting from the spirit and scope thereof, such as use of a cursorcontrol device, spoken utterance, and so forth.

Thus, the selected digital paint properties 404 are provided from thedigital paint property selection module 402 to the mix control module302. In response, the mix control module 302 associates the firstdigital paint property (e.g., pigment 162 option) with a first end 136of the first axis 132 of the mix control 124 and the second digitalpaint property (e.g., pigment 166 option) with the second end 140 of thefirst axis 132 of the mix control 124 (block 804).

Likewise, a third digital paint property (e.g., smoke 508) is associatedwith a first end 138 of the second axis 134 of the mix control 124 and afourth “null” digital paint property is associated with a second end 142of the second axis 134. This configures the mix control 124 to implementa multi-axis input space 304 that is usable via a single user input 128.Other examples are also contemplated, such as a single axis or three ormore axes input space, e.g., in a virtual reality space.

Referring again to FIG. 2, a user input is received by the mix controlmodule 302 involving user interaction with the mix control 124 via theuser interface 110 (block 806). From this, a relationship is determinedby the mix control 124 (e.g., as determined relationship data 406) ofthe user input to the first and second ends of the axis of the mixcontrol 124 in the user interface 110 (block 808). The determinedrelationship data 406 is then provided to a digital paint generationmodule 408 to generate the digital paint 118 as specified by this data(block 810), which is output in the user interface 110 (block 812).

FIGS. 6 and 7 depict example implementations 600, 700 of userinteraction with the mix control 124 and generation of digital paint118. FIGS. 6 and 7 are depicted using first, second, third, and fourthstages 602, 604, 702, 704 showing sequential user interaction with thecontrol.

At the first stage 602, the first and second ends 136, 138, 140, 142 ofthe first and second axes 132, 134 of the mix control are configured asdescribed in relation to FIG. 5. The mix control 124 is configured as amulti-axis control having a multi-axis input space implemented usingconcentric dials. Other examples are also contemplated of implementing amulti-axis input space (e.g., multiple sliders) or a single axis inputspace, e.g., a single slider.

At the first stage 602, a single user input 306 is received with respectto the first and second axes 132, 134, e.g., via a finger of the user'shand 128 as detected using touchscreen functionality of the displaydevice 112. The user input 306 in this instance is closer to the secondend 140 than the first end 136 of the first axis 132. In response,digital paint 118 is generated by the digital paint generation module408 having more of a pigment 166 option (e.g., blue) associated with thesecond hand 130 than pigment 162 option (e.g., red) associated with thefirst end 136. These relative amounts are also illustrated by theindication 144 associated with the mix control 124.

Additionally, the user input 306 is disposed at the closest positioningavailable to the first end 138 of the second axis 134 and further awayfrom the second end 142. In response, the digital paint 118 is alsogenerated to have a maximum amount of a physical digital paint propertyassociated with the first end 138 of the axis, e.g., smoke 508. Thus,the output of the generated digital paint is based on a mix of colordigital paint properties and physical digital paint properties.

At the second stage 602, the single user input 306 is moved a greateramount along the second axis 134 than the first axis 132. In response, aslight color change is noted in the generation of the digital paint 118to include more of the pigment 162 option associated with the first end136 than the pigment 166 option associated with the second end 140 ofthe first axis 132.

Additionally, a larger change is exhibited in the generation of thedigital paint 118 to include additional amounts of a null option of thesecond end 142 of the second axis 134 and thus less of a smoke 508physical digital paint property. Thus, the null option of the secondaxis 134 supports definition of amounts of the digital paint property onan opposing side of the axis, solely, without affecting another digitalpaint property.

At the third stage 702, the user input 306 defines a relationshipbetween the first and second ends 136, 140 of the first axis 132 tofurther increase amount of the pigment 162 option associated with thefirst end 136 than the pigment 166 option associated with the second end140. This causes the digital paint to appear as magenta in this examplerather than purely blue as shown in the first and second stages 602,604. Further, the single user input 306 defines a return to a maximumamount of a digital paint property associated with a first end 138 asopposed to a second end 142 of the second axis 134. This causes thedigital paint 118 to exhibit a maximum amount of the smoke 508 physicaldigital paint property.

At the fourth stage 704 in this example, the user input 306 defines arelationship between the first and second ends 136, 140 of the firstaxis 132 as a maximum amount of the pigment 162 option associated withthe first end 136 and minimum amount of the pigment 166 optionassociated with the second end 140. This causes the digital paint toappear more red in this example than the magenta color as shown at thethird stage 702 and the blue as shown in the first and second stages602, 604.

Further, the single user input 306 defines a return to a lesser amountof a digital paint property associated with a first end 138 as opposedto a second end 142 of the second axis 134. This causes the digitalpaint 118 to reduce the amount of the smoke 508 physical digital paintproperty used to generate the digital paint 118. Thus, the mix control124 supports a single user input 306 to define a continuous inverserelationship of digital paint properties defined at opposing axes, whichmay include combination of both color and physical digital paintproperties.

FIG. 9, for instance, depicts an example implementation of physicaldigital paint property data 900 that includes physical digital paintproperties including medium 212, surface 214, instrument 216, technique28, and environment 220. There are a variety of types of mediums 212that may be mimicked by digital paint 118, both that exist in the realworld or are imaginary that expand “outside” of real world interactions.Thus, creation of the digital paint 118 by the digital paint mixingsystem 116 may be untethered from mimicking the physical world tocreating digital paint 118 having any characteristic that can beimagined by the user and defined (e.g., mathematically) for rendering bythe computing device 102.

Illustrated medium 212 examples include fire 212(1), water 212(2),magnetic 212(3), cloud 212(4), ink 212(5), removal 212(6), and other212(M) mediums. Thus, the medium 212 describes what material is modeledas being applied to a surface 214.

Likewise, there are a variety of types of surfaces 214 that may bemimicked by digital paint that either mimic real world surfaces ornon-existent surfaces that are imagined and interaction with ismathematically modeled as part of the data. Examples of surfaces 214include wood 214(1), stone 214(2), metal 214(3), snow 214(4), food214(5), fauna 214(60, flora 214(7), fire 214(8), water 214(9), masonry214(10), wine 214(11), paper 214(12), and other 214(N) surfaces. Thus,the surface 214 acts a base of the medium 212, e.g., is a substrate forthe medium 212.

An instrument 216 refers to functionality of an instrument beingmimicked to apply the medium 212 to the surface 214. Examples ofinstruments include a brush 216(1), marker 216(2), pen 216(3), pencil216(4), chalk 216(5), hammer 216(6), chisel 216(7), aerosol 216(8),torch 216(9), and others 216(O). A technique 218 refers to a techniqueused by the instrument 216 to apply to medium 212 to the surface 214.Examples of techniques 218 include stroke 218(1), angle 218(2), pressure218(3), layering 218(4), duration 218(5), pattern 218(6), blend 218(7),burnish 218(8), rub 218(9), and others 218(P).

An environment 220 refers to an environment in which the medium 212 isapplied to the surface 214, e.g., by the instrument 216 using thetechnique 218. Examples of environments 220 includes cold 220(1), wind220(2), gravity 220(3), age 220(4), hot 220(6), dawn/dusk 220(6),ambient 220(7), frame 220(8), direct light 220(9), and other 220(Q)environments. Thus, these variety of physical digital paint propertiesmay describe a variety of physical characteristics modeled as part ofgeneration of the digital paint 220 that include defined interactionsbetween the properties.

The physical digital paint properties may also expand to realizecapabilities that are not limited to the physical world, such asmeta-conditions including particle gravity, attraction, sparkles,dynamic gradients and repulsion as part of an animation of the digitalpaint. The physical digital paint properties, for instance, may specifyapplication to a surface to mimic waving of a wand. The digital paint,when “hitting” a substrate, may then sparkle, burst into stars, and soon. Thus, the physical digital paint properties permit user interactionto expand beyond selection of colors as limited by conventional systemsto also include how those physical properties define how digital painthaving those colors is perceived when rendered in a user interface.

Further, feedback mechanisms are also supported in which a real timeoutput of the digital paint 118 is performed having amounts of digitalpaint properties are currently defined by the mix control 124. In thisway, an effect of adjustment of the amounts of digital paint propertiesmay be compared in succession, which is not possible in conventiontechniques that replaced a previous color with another, furtherdiscussion of which is described in the following section and shown incorresponding figures.

Digital Paint Generation Feedback

FIG. 10 depicts a system 1000 in an example implementation in whichfeedback is generated to apply digital paint 118 generated based on userinteraction with the mix control 124 to a user-specified portion of auser interface. FIG. 11 depicts a procedure 1100 in an exampleimplementation of generation of feedback of digital paint generation inreal time.

The following discussion describes techniques that may be implementedutilizing the previously described systems and devices. Aspects of eachof the procedures may be implemented in hardware, firmware, software, ora combination thereof. The procedures are shown as a set of blocks thatspecify operations performed by one or more devices and are notnecessarily limited to the orders shown for performing the operations bythe respective blocks. In portions of the following discussion,reference will be made interchangeable to FIGS. 10-11 as well as theillustrated feedback examples of FIGS. 6-7.

In the previous section, interaction with the mix control 124 wasdescribed to generate digital paint having specified amounts of digitalpaint properties. Interaction with the mix control 124 may also beincorporated to support real time feedback as part of two part userinteraction to generate the digital paint 118 having current amounts ofdigital paint properties. In this way, the paint control module 202provides readily understood feedback to the user as to an effect ofthese digital paint properties and respective amounts on the generationof digital paint 118. Further, the user may also specify where in theuser interface that feedback occurs, such as to mimic how to apply thegenerated digital paint 118 as part of digital image 106 in the futureand thus gain additional insight into the generation of the digitalpaint 118.

The input control module 202, as described in relation to FIG. 4,includes a digital paint property selection module 402 that isconfigured to receive a user selection of digital paint properties froma plurality of representations of digital paint properties in a userinterface 110 (block 1102). The selected digital paint properties arethen associated with respective ones of a plurality of ends of an axisof a mix control (block 1104) by the mix control module 302.

A first user input 1002 is then received that results from userinteraction detected with respect to the mix control 124 (block 1106),e.g., from a first hand 128 of a user. From this, amounts of digitalpaint properties 1004 are determined to be used to generate digitalpaint 118 based on the first user input 1002 (block 1108). These amountsof digital paint properties 1004 are communicated to the digital paintgeneration module 408 as previously described to be used as a basis togenerate the digital paint 118.

In this example, a second user input 1008 is also detected as specifyinga portion of the user interface 110 (block 1110). The paint controlmodule 202, for instance, includes a feedback module 1006 that isconfigured to generate feedback regarding user interaction with the mixcontrol 124. To do so, a portion detection module 1010 first detects aUI portion 1012 as specified by the second user input 1008, e.g.,coordinates of the UI defined using touchscreen functionality, a cursorcontrol device, and so forth.

As shown at the fourth stage 704 of FIG. 7, for instance, a freeformline 706 is drawn in the user interface 110 by a second hand 130 of auser. The freeform line 706 is drawn simultaneously as the single userinput 306 is received through interaction of the first hand 128 of theuser with the mix control 124. Other examples of selection of a UIportion 1012 in the user interface 110 are also contemplated, such as totap a particular shape, and so forth. Thus, in this example two-handedsimultaneous interaction with the user interface 110 is supported toboth specify the amounts of the digital paint properties and the portionof the user interface 110.

The amounts of digital paint properties 1004 based on the first userinput 1002 and UI portion 1012 based on the second user input 1008 areprovided to the digital paint generation module 406. The digital paint118 is then generated by the digital paint generation module 406 in theuser interface 110. The digital paint 118 has the determined amounts ofdigital paint properties 1004 at the detected portion 1012 of the userinterface 110 (block 1112). As a result, the generated digital paint 118follows the UI portion 1012 (e.g., the freeform line 706) as it isdetected in the user interface 110. Thus, the generation of the digitalpaint 118 may provide real time feedback to the user as to the amountsas adjustments are made via the mix control 124 and output of thedigital paint 118 as shown in the first, second, third, and fourthstages 602, 604, 702, 704 of FIGS. 6 and 7. In this way, the digitalpaint mixing system 116 provides continuous feedback regarding changesmade to the digital paint 118 based on changes in the digital paintproperties and may compare these changes to each other. This is notpossible in conventional techniques in which individual user selectionscaused replacement of a previous color with a changed color and as sucha user may not simultaneously view the difference in the digital paintcaused by these changes.

Example System and Device

FIG. 12 illustrates an example system generally at 1200 that includes anexample computing device 1202 that is representative of one or morecomputing systems and/or devices that may implement the varioustechniques described herein. This is illustrated through inclusion ofthe digital paint mixing system 116. The computing device 1202 may be,for example, a server of a service provider, a device associated with aclient (e.g., a client device), an on-chip system, and/or any othersuitable computing device or computing system.

The example computing device 1202 as illustrated includes a processingsystem 1204, one or more computer-readable media 1206, and one or moreI/O interface 1208 that are communicatively coupled, one to another.Although not shown, the computing device 1202 may further include asystem bus or other data and command transfer system that couples thevarious components, one to another. A system bus can include any one orcombination of different bus structures, such as a memory bus or memorycontroller, a peripheral bus, a universal serial bus, and/or a processoror local bus that utilizes any of a variety of bus architectures. Avariety of other examples are also contemplated, such as control anddata lines.

The processing system 1204 is representative of functionality to performone or more operations using hardware. Accordingly, the processingsystem 1204 is illustrated as including hardware element 1210 that maybe configured as processors, functional blocks, and so forth. This mayinclude implementation in hardware as an application specific integratedcircuit or other logic device formed using one or more semiconductors.The hardware elements 1210 are not limited by the materials from whichthey are formed or the processing mechanisms employed therein. Forexample, processors may be comprised of semiconductor(s) and/ortransistors (e.g., electronic integrated circuits (ICs)). In such acontext, processor-executable instructions may beelectronically-executable instructions.

The computer-readable storage media 1206 is illustrated as includingmemory/storage 1212. The memory/storage 1212 represents memory/storagecapacity associated with one or more computer-readable media. Thememory/storage component 1212 may include volatile media (such as randomaccess memory (RAM)) and/or nonvolatile media (such as read only memory(ROM), Flash memory, optical disks, magnetic disks, and so forth). Thememory/storage component 1212 may include fixed media (e.g., RAM, ROM, afixed hard drive, and so on) as well as removable media (e.g., Flashmemory, a removable hard drive, an optical disc, and so forth). Thecomputer-readable media 1206 may be configured in a variety of otherways as further described below.

Input/output interface(s) 1208 are representative of functionality toallow a user to enter commands and information to computing device 1202,and also allow information to be presented to the user and/or othercomponents or devices using various input/output devices. Examples ofinput devices include a keyboard, a cursor control device (e.g., amouse), a microphone, a scanner, touch functionality (e.g., capacitiveor other sensors that are configured to detect physical touch from auser's finger or stylus), a camera (e.g., which may employ visible ornon-visible wavelengths such as infrared frequencies to recognizemovement as gestures that do not involve touch), spatially aware inputdevice (e.g., motion tracking), and so forth. Examples of output devicesinclude a display device (e.g., a monitor or projector), speakers, aprinter, a network card, tactile-response device, and so forth. Thus,the computing device 1202 may be configured in a variety of ways asfurther described below to support user interaction.

Various techniques may be described herein in the general context ofsoftware, hardware elements, or program modules. Generally, such modulesinclude routines, programs, objects, elements, components, datastructures, and so forth that perform particular tasks or implementparticular abstract data types. The terms “module,” “functionality,” and“component” as used herein generally represent software, firmware,hardware, or a combination thereof. The features of the techniquesdescribed herein are platform-independent, meaning that the techniquesmay be implemented on a variety of commercial computing platforms havinga variety of processors.

An implementation of the described modules and techniques may be storedon or transmitted across some form of computer-readable media. Thecomputer-readable media may include a variety of media that may beaccessed by the computing device 1202. By way of example, and notlimitation, computer-readable media may include “computer-readablestorage media” and “computer-readable signal media.”

“Computer-readable storage media” may refer to media and/or devices thatenable persistent and/or non-transitory storage of information incontrast to mere signal transmission, carrier waves, or signals per se.Thus, computer-readable storage media refers to non-signal bearingmedia. The computer-readable storage media includes hardware such asvolatile and non-volatile, removable and non-removable media and/orstorage devices implemented in a method or technology suitable forstorage of information such as computer readable instructions, datastructures, program modules, logic elements/circuits, or other data.Examples of computer-readable storage media may include, but are notlimited to, RAM, ROM, EEPROM, flash memory or other memory technology,CD-ROM, digital versatile disks (DVD) or other optical storage, harddisks, magnetic cassettes, magnetic tape, magnetic disk storage or othermagnetic storage devices, or other storage device, tangible media, orarticle of manufacture suitable to store the desired information andwhich may be accessed by a computer.

“Computer-readable signal media” may refer to a signal-bearing mediumthat is configured to transmit instructions to the hardware of thecomputing device 1202, such as via a network. Signal media typically mayembody computer readable instructions, data structures, program modules,or other data in a modulated data signal, such as carrier waves, datasignals, or other transport mechanism. Signal media also include anyinformation delivery media. The term “modulated data signal” means asignal that has one or more of its characteristics set or changed insuch a manner as to encode information in the signal. By way of example,and not limitation, communication media include wired media such as awired network or direct-wired connection, and wireless media such asacoustic, RF, infrared, and other wireless media.

As previously described, hardware elements 1210 and computer-readablemedia 1206 are representative of modules, programmable device logicand/or fixed device logic implemented in a hardware form that may beemployed in some embodiments to implement at least some aspects of thetechniques described herein, such as to perform one or moreinstructions. Hardware may include components of an integrated circuitor on-chip system, an application-specific integrated circuit (ASIC), afield-programmable gate array (FPGA), a complex programmable logicdevice (CPLD), and other implementations in silicon or other hardware.In this context, hardware may operate as a processing device thatperforms program tasks defined by instructions and/or logic embodied bythe hardware as well as a hardware utilized to store instructions forexecution, e.g., the computer-readable storage media describedpreviously.

Combinations of the foregoing may also be employed to implement varioustechniques described herein. Accordingly, software, hardware, orexecutable modules may be implemented as one or more instructions and/orlogic embodied on some form of computer-readable storage media and/or byone or more hardware elements 1210. The computing device 1202 may beconfigured to implement particular instructions and/or functionscorresponding to the software and/or hardware modules. Accordingly,implementation of a module that is executable by the computing device1202 as software may be achieved at least partially in hardware, e.g.,through use of computer-readable storage media and/or hardware elements1210 of the processing system 1204. The instructions and/or functionsmay be executable/operable by one or more articles of manufacture (forexample, one or more computing devices 1202 and/or processing systems1204) to implement techniques, modules, and examples described herein.

The techniques described herein may be supported by variousconfigurations of the computing device 1202 and are not limited to thespecific examples of the techniques described herein. This functionalitymay also be implemented all or in part through use of a distributedsystem, such as over a “cloud” 1214 via a platform 1216 as describedbelow.

The cloud 1214 includes and/or is representative of a platform 1216 forresources 1218. The platform 1216 abstracts underlying functionality ofhardware (e.g., servers) and software resources of the cloud 1214. Theresources 1218 may include applications and/or data that can be utilizedwhile computer processing is executed on servers that are remote fromthe computing device 1202. Resources 1218 can also include servicesprovided over the Internet and/or through a subscriber network, such asa cellular or Wi-Fi network.

The platform 1216 may abstract resources and functions to connect thecomputing device 1202 with other computing devices. The platform 1216may also serve to abstract scaling of resources to provide acorresponding level of scale to encountered demand for the resources1218 that are implemented via the platform 1216. Accordingly, in aninterconnected device embodiment, implementation of functionalitydescribed herein may be distributed throughout the system 1200. Forexample, the functionality may be implemented in part on the computingdevice 1202 as well as via the platform 1216 that abstracts thefunctionality of the cloud 1214.

CONCLUSION

Although the invention has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the invention defined in the appended claims is not necessarilylimited to the specific features or acts described. Rather, the specificfeatures and acts are disclosed as example forms of implementing theclaimed invention.

What is claimed is:
 1. In a digital paint generation environment, amethod implemented by at least one computing device, the methodcomprising: receiving, by the at least one computing device, a userselection of a first representation of a first digital paint propertyand a second representation of a second digital paint property via auser interface; associating, by the at least one computing device basedon the user selection, the first representation of the first digitalpaint property with a first end of a first axis of a mix control and thesecond representation of the second digital paint property with a secondend of the first axis of the mix control; receiving, by the at least onecomputing device, a user input involving user interaction with the mixcontrol via the user interface; determining, by the at least onecomputing device, a relationship of the user input to the first andsecond ends of the first axis of the mix control in the user interface;generating, by the at least one computing device, digital paint usingamounts of the first and second digital paint properties based on thedetermined relationship; and outputting, by the at least one computingdevice, the generated digital paint in the user interface.
 2. The methodas described in claim 1, wherein the user input is a single user inputand the determined relationship defines a continuous inverserelationship with respect to the first and second digital paintproperties.
 3. The method as described in claim 1, further comprisingdisplaying an indication of the determined relationship in the userinterface with respect to the first and second ends of the first axis ofthe mix control.
 4. The method as described in claim 1, furthercomprising: receiving, by the at least one computing device, a userselection of a third representation of a third digital paint propertyand a fourth representation of a fourth digital paint property;associating, by the at least one computing device, the thirdrepresentation of the third digital paint property with a first end of asecond axis of the mix control and the fourth representation of thefourth digital paint property with a second end of the second axis ofthe mix control; and wherein: determining, by the at least one computingdevice, a relationship of the user input to the first and second ends ofthe second axis of the mix control; generating, by the at least onecomputing device, digital paint using amounts of the first, second,third, and fourth digital paint properties based on the relationships ofthe user input to the first and second ends of the first axis and of theuser input to the first and second ends of the second axis.
 5. Themethod as described in claim 4, wherein: the user input is a single userinput; and the relationships to the first and second ends of the firstaxis and the first and second ends of the second axis are based on thesingle user input.
 6. The method as described in claim 1, wherein theuser selection includes selecting the first and second representationsof the first and second digital paint properties from a plurality ofrepresentations of digital paint properties in the user interface. 7.The method as described in claim 6, wherein the user selection isdetected as a gesture using touchscreen functionality of the at leastone computing device.
 8. The method as described in claim 6, wherein theplurality of representations of digital paint properties include colordigital paint properties as pigments.
 9. The method as described inclaim 6, wherein the plurality of representations of digital paintproperties include physical digital paint properties.
 10. The method asdescribed in claim 9, wherein the physical digital paint propertiesinclude a medium, a surface, an instrument, a technique, and anenvironment in which the medium and the surface are disposed within. 11.In a digital paint generation environment, a system comprising: adigital paint property selection module implemented at least partiallyin hardware of at least one computing device to associaterepresentations of digital paint properties with respective ends of aplurality of ends of axes of a multi-axis mix control in a userinterface in response to user selection of the representations; a mixcontrol module implemented at least partially in the hardware of the atleast one computing device to determine a relationship of a single userinput to the plurality of ends of the axes of the multi-axis mix controlin the user interface; and a digital paint generation module implementedat least partially in the hardware of the at least one computing deviceto generate digital paint for output in the user interface using amountsof the associated digital paint properties based on the relationship.12. The system as described in claim 11, wherein the axes include afirst axis that is perpendicular to a second axis.
 13. The system asdescribed in claim 11, wherein the mix control module is configured todetermine the relationship as a continuous inverse relationship withrespect to the plurality of ends of the axes of the multi-axis mixcontrol.
 14. The system as described in claim 11, wherein the userselection includes selection of the representations of the digital paintproperties from a plurality of representations of digital paintproperties in the user interface.
 15. The system as described in claim14, wherein the plurality of representations of digital paint propertiesinclude color digital paint properties as pigments.
 16. The system asdescribed in claim 14, wherein the plurality of representations ofdigital paint properties include physical digital paint properties. 17.The system as described in claim 16, wherein the physical digital paintproperties include a medium, a surface, an instrument, a technique, andan environment in which the medium and the surface are disposed within.18. In a digital paint generation environment, a system comprising:means for associating a first representation of a first digital paintproperty with a first end of an axis of a mix control and a secondrepresentation of a second digital paint property with a second end ofthe axis of the mix control in response to a user selection from aplurality of representations of a plurality of digital paint propertiesvia a user interface; means for determining a relationship of a userinput to the first and second ends of the axis of the mix control in theuser interface; and means for generating digital paint using amounts ofthe first and second digital paint properties based on the determinedrelationship.
 19. The system as described in claim 18, wherein theplurality of digital paint properties include color digital paintproperties and physical digital paint properties.
 20. The system asdescribed in claim 19, wherein the physical digital paint propertiesinclude a medium, a surface, an instrument, a technique, and anenvironment in which the medium and the surface are disposed within.